package com.yc.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yc.framework.baseClass.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yc.framework.config.CustomFloatDeserializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * <p>
 * 书店
 * </p>
 *
 * @author 1850140986@qq.com
 * @since 2022-12-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Accessors(chain = true)
@TableName("t_store")

public class Store extends BaseEntity<Store>{
    private static final long serialVersionUID = 1L;


    /**
     * 书店ID
     */
    @TableId(value = "store_id", type = IdType.AUTO)
    private Integer storeId;

    /**
     * 用户ID
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 书店名称
     */
    @TableField("store_name")
    private String storeName;

    /**
     * 背景图地址
     */
    @TableField("bg")
    private String bg;

    /**
     * 背景选项 (1 图片，2开始颜色ID)
     */
    @TableField("bg_state")
    private Integer bgState;

    /**
     * 全场优惠类型:1折扣，2金额
     */
    @TableField("preferential_state")
    private Integer preferentialState;

    /**
     * 全场优惠折扣
     */
    @TableField("all_discount")
    @JsonDeserialize(using = CustomFloatDeserializer.class)
    private Float allDiscount;

    /**
     * 全场优惠金额ID（满多少优惠多少）
     */
    @TableField("preferential_money_id")
    private Integer preferentialMoneyId;

    /**
     * 头部标题书店名 背景(1 图片，2开始颜色ID)
     */
    @TableField("h_bg_state")
    private Integer hBgState;

    /**
     * 星级数量
     */
    @TableField("stars_num")
    private Integer starsNum;

    /**
     * 标签
     */
    @TableField("labels")
    private String labels;

    /**
     * 头部背景图地址
     */
    @TableField("h_bg")
    private String hBg;

    /**
     * 排版类型(可选择多样的排版)
     */
    @TableField("typesetting")
    private Integer typesetting;



}